package com.simple.common.entity.po.sys;

import com.baomidou.mybatisplus.annotation.TableField;
import com.google.common.collect.Table;
import lombok.Data;

import java.util.List;

/**
 * @author yasud
 * @date 2020年09月16日 10:02
 * @description
 */
@Data
public class Application extends BaseEntity2 {

    /**
     * 所属商户
     */
    private String merchantNo;

    /**
     * 所属商户
     */
    private Merchant merchant;

    /**
     * app类型
     */
    private Type type;

    /**
     * 站点中文名称
     */
    private String name;

    /**
     * serviceId
     */
    private String serviceId;

    /**
     * secretKey
     */
    private String secretKey;

    /**
     * 是否启用
     */
    private Boolean enable;

    /**
     * 匹配的产品
     */
    @TableField(exist = false)
    private List<Product> products;

    /**
     * 放在table里面，本来按照关系应 将attribute放在product里面但是这样太分散，匹配的时候层级太多
     * product, attribute, value
     * 1,           1          1
     * 1,          2            1
     */
    @TableField(exist = false)
    private Table<Product, Attribute, String> attr;

    public enum Type {

        /**
         * 站点
         */
        SITE,

        /**
         * app
         */
        APP;
    }
}
